دسته بندی ها
21:05 1398/07/12

نمایش نوتیفکیشن در سی شارپ

مشخصات سوال کننده :
کاربر : Programmer     امتیاز کاربر : 27     رتبه کاربر : 26
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4200
هوش مصنوعی

پاسخ هوش مصنوعی

برای نمایش نوتیفیکیشن در C# می توانید از کلاس ToastNotification استفاده کنید. فرض کنیم شما از Windows Forms استفاده می کنید و می خواهید نوتیفیکیشن ها را در زمان معین نمایش دهید.

برای شروع، می توانید از کد زیر استفاده کنید:

using System;
using System.Windows.Forms;
using System.Threading;
using Microsoft.Toolkit.Uwp.Notifications;

class Program
{
    [STAThread]
    static void Main()
    {
        // مدت زمان بین نوتیفیکیشن ها
        Timer timer = new Timer(ShowNotification, null, TimeSpan.Zero, TimeSpan.FromSeconds(60));

        Application.Run(); // اجرا کردن اپلیکیشن
    }

    private static void ShowNotification(object state)
    {
        // تاریخ و ساعت مورد نظر برای نمایش نوتیفیکیشن
        DateTime targetTime = new DateTime(2023, 10, 25, 12, 0, 0);
        
        if (DateTime.Now >= targetTime && DateTime.Now < targetTime.AddMinutes(1)) // نوتیفیکیشن فقط یک بار در زمان مشخص نشان داده می شود
        {
            new ToastContentBuilder()
                .AddText("سلام!")
                .AddText("این یک نوتیفیکیشن است.")
                .Show(toast =>
                {
                    // امکان انجام کار در هنگام کلیک روی نوتیفیکیشن
                });
        }
    }
}

اطمینان حاصل کنید که پکیج Microsoft.Toolkit.Uwp.Notifications را با استفاده از NuGet اضافه کرده اید تا بتوانید نوتیفیکیشن ها را نمایش دهید.

این کد با استفاده از تایمر، نوتیفیکیشن را در هر 60 ثانیه بررسی می کند و در صورت رسیدن زمان مشخص، نوتیفیکیشن را نمایش می دهد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 23:24 1398/07/26

سلام

میتوتید از این لینک استفاده کنید. دقیقا در مورد نمایش نوتیفیکیشن در سی شارپ هست.

موفق باشید

به این پاسخ امتیاز بدهید    2
امتیاز: 1664 رتبه: 1
پاسخ دهنده : Programmer 23:24 1398/07/26

ممنون مهندس عالی هست

من یک جدول دارم و داخلش دو تا فیلد تاریخ و ساعت گذاشتم ، و میخوام طبق تاریخ و ساعتی که در جدول ثبت کردم ، نوتیفیکیشن  نمایش داده بشه 

من یک راهنمایی نیاز دارم که چگونه در این مدت زمان و تاریخ نمایش داده بشه

 

لطفا راهنماییم کنید باتشکر

 

به این پاسخ امتیاز بدهید    0
امتیاز: 27 رتبه: 26
پاسخ دهنده : naserzade 23:24 1398/07/26

سلام. فک کنم این لینک ها بتونن بهتون کمک کنن

لینک 1  لینک 2

به این پاسخ امتیاز بدهید    1
امتیاز: 20 رتبه: 36
پاسخ دهنده : Sowgandi 23:24 1398/07/26

سلام. این سورس یه نرم افزار یادآوری به زبان سی شارپ هستش میتونی دانلود کنی و از کدهاش استفاده کنی.

دانلود سورس

به این پاسخ امتیاز بدهید    1
امتیاز: 876 رتبه: 3
پاسخ دهنده : saedbfd 23:24 1398/07/26

با سلام

اگر هدف شما این هست که تاریخ ذخیره شده در دیتابیس برای نمایش نوتیفیکیشن رو با تاریخ سیستم مقایسه کنید باید چند نکته رو توجه کنید :

  • اول اینکه تاریخ و ساعت رو به صورت میلادی ذخیره کنید. اگر هم به صورت شمسی ذخیره کردید مشکلی نیست. یک فیلد دیگه در دیتابیس اضافه کنید از نوع DateTime و تاریخ و ساعت رو به صورت میلادی هم ذخیره کنید. (یعنی هم شمسی رو داشته باشید هم میلادی)
  • نکته دوم مقایسه بین تاریخ میلادی ذخیره شده در دیتابیس و تاریخ سیستم هست. در اینجا 2 حالت ممکنه به وجود بیاد. حالت اول اینکه تاریخ ویندوز شما میلادی هست که مشکلی نیست تا اینجا. حالت دوم این هست که تاریخ ویندوز شما شمسی هست. که در این صورت دوباره مقایسه بین تاریخ ها ممکنه اشکال ایجاد کنه.

برای این منظور و رفع این مشکل شما باید همیشه قبل از مقایسه Culture رو روی حالت en-US قرار بدید.

قطعه کد زیر این کار رو برای شما انجام میده :

 

   Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
                if ((DateTime.Now == DataBase.Field))
                {
                    //Do SomeThing
                }

 

به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
پاسخ دهنده : mohammad-i 23:24 1398/07/26

این کد مرتبا در حال چک کردن هست؟

به عبارتی همیشه Listening هست که چه موقع نتیجه مقایسه true میشه؟

به این پاسخ امتیاز بدهید    0
امتیاز: 260 رتبه: 7
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود